Most Un*x compilers accept '.C' for C++ source files, g++ preferring '.cc', and cfront also accepting '.c'. Most DOS and OS/2 compilers require '.cpp' since DOS filesystems aren't case sensitive. Some also advocate '.cxx'. The impact of this decision is not great, since a trivial shell script can rename all .cc files into .C files. The only files that would have to be modified are the Makefiles, which is a very small piece of your maintenance costs.
You can use '.C' on DOS or OS/2 if the compiler provides a command-line option to tell it to always compile with C++ rules (ex: 'ztc -cpp foo.C' for Zortech, 'bcc -P foo.C' for Borland, etc).